package conponent;

import module.EntityType;
import module.Position;
import view.View;

import java.awt.*;

public interface Entity {
    /**
     * 获取实体的位置信息
     * 该信息表示实体在视图中占据的位置信息，包括起始点坐标，宽高等
     * @return 包含实体位置信息的对象
     */
    Position getPosition();

    /**
     * 获取实体类型
     * @return 实体类型的枚举类
     */
    EntityType getEntityType();

    /**
     * 获取实体的图片对象，用于视图渲染
     * @return 实体的Image对象
     */
    Image disPlay();

    /**
     * 获取实体所在视图
     * @return
     */
    View getView();

    /**
     *  进行实体坐标的平移(改变实体坐标)；
     */
    void translate(int x,int y);

    /**
     * 设置实体的贴图
     * @param show 实体贴图对象
     */
    void setShow(Image show);

    /**
     * 设置实体所在视图（容器）
     * @param loc 实体所在视图对象
     */
    void setLoc(View loc);


}
